|
updated 24.03.09 02:05 24.03.09 01:59 | developers :
Damnedest | Получаем инфу из БК |
ru |
Давным давно Alex Nomad [9] рассказывал о том, как правильно получать информацию о персонаже в и приводил пример обращения к страницам БК. Мне кажется, что уже давным давно пора начинать использовать ООП, котрое есть в пыхе и использовать православные методы.
Собственно преимущества кода, который я предлагаю:
1. Мы ограничиваем максимальное количество редиректов тремя. Это не даст возможность серверу БК зациклить наш скрипт.
2. Мы ограничиваем время доступа к странице 10 секундами (хотя даже 10 много, лучше 3-5), чтобы не тратить много времени на тормозящий сервер БК.
3. Получением данных занимается curl (редиректы, таймауты, правильное разархивация)
4. В результате работы, с помощью iconv, мы получаем нормальную UTF-8 строчку, с которой можем спокойно работать. Забудьте вы уже о win-1251 - это архаизм! Надо смотреть в будущее.
5. Ну и собственно мы получаем очень хорошие исключение на все ошибки, которые возникнут во время получения данных, которые можно будет отловить и как-то обработать.
Код модуля можно посмотреть под катом. Появившиеся вопросы можно оставить в комментах.
CUT: Продолжение
|
Comments: 12 | |
|
|
|
updated 21.01.11 21:46 23.03.09 16:24 |
Куруфин | Нечто новое ;) |
ru |
Давненько Администрация не радовала нас новой амуницией... А учитывая, что новые картинки в БК просто так появляются редко, предположу, что эта тенденция скоро изменится. Вашему вниманию представляются изображения пары новых мини-комплектов (воинского и магического), только что загруженные на сервер (список может пополниться, картинки продолжают поступать):
CUT: Продолжение
|
Comments: 113 | |
|
|
|
updated 08.08.09 13:34 22.03.09 16:03 | CooK :
Велга | Сушки фаршированные |
ru |
РЕЦЕПТ:
Сушки - 150г
Молоко - 3 стакана
Фарш мясной - 300 г
Лук репчатый - 1,5 головка
Масло растительное - 3 ст. ложки
Маслины без косточек - 6 шт.
Майонез - 4 ст. ложки
Сыр твердый тертый - 4 ст. ложки
ПРИГОТОВЛЕНИЕ:
1. Сушки залейте молоком, оставьте до набухания.
2. Для начинки фарш обжарьте на масле с рубленым луком, соедините с маслинами, нарезанными кольцами.
3. Подготовленные сушки выложите на противень. В середину каждой положите немного начинки, полейте майонезом и посыпьте сыром. Запекайте 15 минут.
При подаче выложите сушки на блюдо, оформите зеленью.
Music: Слот - Ночной Дозор (Воронка) - bonus
|
Comments: 7 | |
|
|
|
updated 22.03.09 15:57 22.03.09 00:12 |
Велга | Посмотрела фильм "Юленька" |
ru |
Вообще жестоко о_О
HideРежиссер Александр Стриженов
Актеры Марат Башаров, Дарья Балабанова, Анна Казючиц, Александра Дыхне, Светлана Кропина, Ирина Купченко, Оксана Лаврентьева, Софья Ларина, Марго Силкина, Александр Стриженов, Хельга Филиппова, Диана Шпак
Сценарий Андрей Курейчик, Валентин Спиридонов, Александр Стриженов
Оператор Артур Гимпель
Продюсеры Ренат Давлетьяров, Александр Котелевский, Андрей Новиков
Производство кинокомпания "Реал Дакота", кинокомпания "Интерфест"
Андрей Белов переезжает с семьей из столицы в провинциальный город. Ради здоровья любимой он меняет работу университетского преподавателя на место классного руководителя в женской гимназии. Белов быстро понимает – с его классом что-то не так. За круговой порукой молчания скрывается странная и страшная тайна. Эти пятиклассницы не играют в куклы – они играют человеческими жизнями. Сигналом к действию для Андрея станет записка "Спасите нас!", найденная в школьном дневнике. Постепенно жизнь Белова превращается в кошмар. Все его чувства, эмоции и поступки искажаются под призмой страха. Зло отравляет все его существование и медленно и изощренно отбирает все самое дорогое. И удастся ли ему выбраться из этого кошмара, зависит только от одной маленькой девочки. А она… просто хочет, чтобы мама была счастлива…
|
Comments: 5 | |
|
|
|
updated 21.03.09 22:15 21.03.09 22:08 | developers :
Damnedest | Кеш спасет мир! |
ru |
В блоге очень много было рассказов о том, как написать какой-то функционал и как что-то ускорить. Конечно, все этого, очень здорово, но мне кажется сообщество не совсем понимает, что этими постами оно дает в руки бомбу замедленного действия будущим программерам клановых сайтов (как показывает практика сервер БК можно положить обычной ссылкой на полный лог великой ).
По моим наблюдения в БК очень мало сильных программистов, тех, которые имеют за плечами проекты не в 200-300 хостов в сутки, а у которых есть сайты, на которых одновременно находится несколько десятков тысяч человек. Я бы хотел в этом посте затронуть тему оптимизации сайта под высокие нагрузки.
В БК о высоких нагрузках кроме некоторых кланов никто и не задумывался, а те, кто с этим сталкивались решали ее просто - покупали более мощные сервер или переходили на новый тарифный план. Некоторые пытались запретить очень частые запросы пользователей на сайт, последовав по стопам БК, хотя в большинстве случаев необходимости не было.
Я видел некоторые клановые сайты, на которых при выводе ника автора новости, происходило обращение к информации о персонаже БК. Это п****ц и так делать нельзя. Если вы так сделали - убейтесь пожалуйста. Спасибо.
Я видел, как писали вывод состава на PHP, когда по крону раз в 5 минут запускался скрипт и вытягивал инфу о персонаже, чтобы получить его оналайн. Вы правда думаете, что у сокланов нет кнопочки в БК, в которой можно посмотреть весь состав? А может вы решили сделать доброе дело для тех, кто хочет отрабатывать по вашему клану ЧС? А может вы думаете, что нуб 8 левела, который зайдет к вам на сайт и посмотрит ваш состав будет сильно переживать из-за того, что не увидит кого-нить в онлайне? Не смешите.
Что делать? Все просто - надо думать!
1. Думаем куда делать запрос. Если персонаж при последнем обновлении состава находился в Столице, то с вероятностью около 70% он и щас будет находится там же (вероятность не придумана, это реальная цифра). Таким вот простым способом мы уменьшили нагрузку на сервер.
2. Между запросами к БК надо делать задержку. 2-5 секунд примерно, чтобы не мучать ни БК, ни свой сервер (например скрипт получения состава просто в цикле делал запросы, из-за чего раз в 5 минут на сервере наблюдалась некоторая заторможенность).
3. Кешируйте запросы. Зачем каждый раз делать запрос к базе на получение состава, если вы знаете, что скрипт обновления у вам работает раз в пол часа? Получите данные из базы и сохраните их в файле. И следующие пол часа получайте инфу из файла. Да, тут вам придется думать. Если это будет интересно, я могу рассказать как реализовать грамотное кеширование в мемкешед или в обычных файлах )
4. Кешируйте не только данные, но и html. Для вывода состава клана серверу требуется произвести достаточно большое количество обращений к шаблонам. Проще закешировать html с составом клана и отдавать его. Ускорение будет реальное.
Вообще есть еще множество различных оптимизаций, которые может сделать каждый клановый сайт, сталкивающийся с нагрузкой, но это уже индивидуально.
P.S. Думайте, что делаете!
P.P.S. И не делайте всякий бред типа ограничения запросов с одного IP. Лучше займитесь оптимизайией.
Mood: рабочее ![](http://img.combats.com/i/smile/sharp.gif)
|
Comments: 5 | |
|
|
|
updated 20.04.09 00:46 19.03.09 03:36 |
Куруфин | Корпорация Гуу |
ru |
"World of Goo" - логическая игра-конструктор, в которой на протяжении ряда уровней предлагается строить некие сооружения вроде мостов или башен из особых гу-шариков, чтобы в конце концов вывести неиспользованные под стройматериал шарики через специальные трубы (немного кривое определение, но как уж вышло - эту игрушку надо раз увидеть, чтобы сразу все понять). Приправить все это хорошей физической системой, отменной авторской музыкой и изрядной долей юмора - и вот он, шедевр. :) Быть может, это слишком громкое слово, но меня игра очень впечатлила. :)
CUT: трейлер и ссылки
|
Comments: 12 | |
|
|
|
updated 18.03.09 20:31 18.03.09 19:44 |
Инви | Ангел... просто ангел..)) и все-таки они живут тут |
ru |
Вы нашли в подарке предмет "Крылья седьмого неба"
P.S. Буду собирать крылья, накоплю - и взлечу в небо! ((:
Mood: ангельское...))
|
Comments: 6 | |
|
|
Total posts: 4802 Pages: 481
1.. 10.. 20.. 30.. 40.. 50.. 60.. 69 70 71 72 73 74 75 76 77 78 79 80.. 90.. 100.. 110.. 120.. 130.. 140.. 150.. 160.. 170.. 180.. 190.. 200.. 210.. 220.. 230.. 240.. 250.. 260.. 270.. 280.. 290.. 300.. 310.. 320.. 330.. 340.. 350.. 360.. 370.. 380.. 390.. 400.. 410.. 420.. 430.. 440.. 450.. 460.. 470.. 480..
|
|
Mo |
Tu |
We |
Th |
Fr |
Sa |
Su |
| | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | | |
|